package com.wf.controller;

import com.wf.constant.RedisConstant;
import com.wf.context.BaseContext;
import com.wf.domain.FeedbackInfo;
import com.wf.service.FeedbackInfoService;
import com.wf.utils.RedisUtil;
import com.wf.vo.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * 反馈信息接口
 *
 * @author mpk
 * @since 2024/8/4 13:02:26
 */
@RestController
@CrossOrigin
@RequestMapping("/app/feedback")
public class FeedBackController {

    /**
     * 自动注入反馈信息服务，用于操作反馈信息数据。
     */
    @Autowired
    FeedbackInfoService feedbackInfoService;

    @Autowired
    RedisUtil redisUtil;

    /**
     * 添加反馈信息
     *
     * @param feedbackInfo 反馈信息实体，包含用户提交的所有反馈详情。
     * @return Result 对象，表示操作结果，成功时返回ok信息。
     */
    @PostMapping
    public Result insertFeedBack(@RequestBody FeedbackInfo feedbackInfo)
    {
        feedbackInfo.setUserId(BaseContext.getCurrentId());

        feedbackInfoService.save(feedbackInfo);
        List<String> feedbackImage = feedbackInfo.getFeedbackImage();
        feedbackImage.stream()
                .map(
                        image -> image.replace("https://wfyn.oss-cn-hangzhou.aliyuncs.com/", "")
                ).forEach(
                        image -> redisUtil.sSet(RedisConstant.APARTMENT_USED_IMG, image)
                );
        return Result.success();
    }

}
